package com.hsnn.medstgmini.pro.base.dao;


import java.util.List;
import java.util.Map;

import com.hsnn.medstgmini.base.std.model.HospInfo;
import com.hsnn.medstgmini.pro.base.model.BaseGoods;
import com.hsnn.medstgmini.pro.base.model.form.BaseShortmedicineForm;
import com.hsnn.medstgmini.pro.base.model.form.ShortMedicine;
import com.hsnn.medstgmini.sys.model.SysUser;
import com.hsnn.medstgmini.util.Pagination;


public interface DrugShortageDao {
	/**
	 * @category 查询已申报短缺药品
	 * @param page 分页
	 * @return
	 */
	public Pagination getShortageInfo(Pagination page , HospInfo hospInfo);
	
	/**
	 * @category 根据"短缺申报id"更新已申报短缺药品
	 * @param sm 实体类对象
	 */
	public void UpdateBySMI(ShortMedicine sm);
	
	/**
	 * @category 撤销已申报短缺药品改变submit_status状态
	 * @param sm 实体类对象
	 */
	public void UpdateBySS(ShortMedicine sm);
	
	
	
	/**
	 * 获取中标药品
	 * @param page
	 * @return
	 */
	public Pagination getDataList(Pagination page, HospInfo hospInfo);
	
	/**
	 * 修改、新增页面
	 * @param prodId
	 * @return
	 */
	Map<String, Object> getDrugShortageDetail(String goodsCode,String projId);
	
	/**
	 * 保存非中标药品信息
	 * @param form
	 * @param user
	 */
	void saveDrugInfo(BaseShortmedicineForm form, SysUser user);
	/**
	 * 保存中标药品信息
	 * @param form
	 * @param user
	 */
	void saveDrugInfoRep(BaseShortmedicineForm form, SysUser user);
	/**
	 * 校验通用名
	 * @param drugName
	 * @return
	 */
	List<BaseGoods> getHospInfoByDrugName(String drugName,String formName,String specName,String factor,String unitName,String compName,String drugAttr);
	
	public Map<String, Object> getDrugInfo(String shortmedicine_id);
	
	public List<Integer> getShortType();
	/**
	 * 获取中心端短缺药品
	 * @param page
	 * @return
	 */
	public Pagination getAllShortage(Pagination page);
	/**
	 * 卫生局查看医院短缺药品
	 * @param page
	 * @param hospInfo
	 * @return
	 */
	public Pagination getShortageInfoWSJ(Pagination page);
	List<BaseShortmedicineForm> getHospInfoListByDrugNameHosp(String drugName,String formName,String specName,String factor,String unitName,String compName,String drugAttr);
	
}
